package com.meituan.sdk.model.mendianzhilian.test.createPoi;

import com.meituan.sdk.annotations.ApiMeta;
import java.util.List;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 创建新门店
* This file was automatically generated.
*/
@ApiMeta(
    path = "/mendianzhilian/test/map/poi/create",
    businessId = 71,
    apiVersion = "10020",
    apiName = "create_poi",
    needAuth = false
)
public class CreatePoiRequest implements MeituanRequest<Long> {
    /**
    * <p data-diff-id="ct-diff-id-9eb768a7-1983-4faf-82e8-0d0675c1b1e2">外部品牌erp门店编码</p>
    */
    @NotBlank(message = "poiId不能为空")
    @SerializedName("poiId")
    private String poiId;
    /**
    * <p data-diff-id="ct-diff-id-248f5b89-7974-43df-a092-4428ec72ff53">门店基础信息</p>
    */
    @NotNull(message = "poiBase不能为空")
    @SerializedName("poiBase")
    private PoiBase poiBase;
    /**
    * <p data-diff-id="ct-diff-id-49b69b2e-7cf6-486a-8846-4f46baef6193">资质举证列表</p>
    */
    @SerializedName("qualifications")
    private List<Qualification> qualifications;
    /**
    * <p data-diff-id="ct-diff-id-f86b4155-ddd9-492d-956a-6af12fdbd302">扩展信息，json格式，<span style="color: rgba(0, 0, 0, 0.65)">{\"AccountID\":\"41327684\"}，AccountID代表客户ID，可用于发起客店绑定</span></p>
    */
    @SerializedName("ext")
    private String ext;

    public String getPoiId() {
        return poiId;
    }
    public void setPoiId(String poiId) {
        this.poiId = poiId;
    }
    public PoiBase getPoiBase() {
        return poiBase;
    }
    public void setPoiBase(PoiBase poiBase) {
        this.poiBase = poiBase;
    }
    public List<Qualification> getQualifications() {
        return qualifications;
    }
    public void setQualifications(List<Qualification> qualifications) {
        this.qualifications = qualifications;
    }
    public String getExt() {
        return ext;
    }
    public void setExt(String ext) {
        this.ext = ext;
    }


    @Override
    public MeituanResponse<Long> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<Long>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "CreatePoiRequest{" + "poiId=" + poiId + "," + "poiBase=" + poiBase + "," + "qualifications=" + qualifications + "," + "ext=" + ext + "}";
    }
}
